/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package lab1;

import java.io.Serializable;
import java.util.*;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

/**
 *
 * @author Александр
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "tasklist")
public class TaskList implements Serializable{

    private Map<UUID, Task> hashmap= new HashMap<>();

//    public void TaskList() {
//        hashmap = new HashMap<UUID, Task>();
//    }

    public void addEl(UUID id, Task value) { // его же и использовать для замены элемента, если такой же id будет
          hashmap.put(id, value);

    }

    public Task getEl(UUID id) {

        return hashmap.get(id);

    }
    
    public boolean contains(UUID id) {
        if (id == null) {
            throw new NullPointerException();
        }
        return hashmap.containsKey(id);
    }
    
    public List<Task> getAllTasks(){
       List<Task> res = new ArrayList<>(hashmap.values());
        return res;
    }

    public void removeEl(UUID id) {
        hashmap.remove(id);
    }
    
    public int getSize(){
        return hashmap.size();
    }


}
